#define TAM_STRING 30
#define TAM_STRING_LONG 100
#define MAX_COMMAND_SIZE 150
#define MAX_RESP_SIZE 200
#define MAX_TAM_SIZE_STRING 2000


typedef unsigned char	U08_t;
typedef unsigned long	U32_t;
typedef unsigned long long U64_t;

#define CLI_PROMPT "\nTCCOS> "

/* MAC address configuration. */
#define uipMAC_ADDR0	0x0
#define uipMAC_ADDR1	0xbd
#define uipMAC_ADDR2	0x33
#define uipMAC_ADDR3	0x02
#define uipMAC_ADDR4	0x64
#define uipMAC_ADDR5	0x24

/* IP address configuration. */
int uipIP_ADDR0;
int uipIP_ADDR1;
int uipIP_ADDR2;
int uipIP_ADDR3;

unsigned short uip_GAT0;
unsigned short uip_GAT1;
unsigned short uip_GAT2;
unsigned short uip_GAT3;

unsigned short uip_Mask0;
unsigned short uip_Mask1;
unsigned short uip_Mask2;
unsigned short uip_Mask3;


typedef enum {RET_OK =0, RET_ERROR} break_t;
typedef enum {GET_CMD=0, SET_CMD, HELP_CMD, CHAT_CMD} type_t;

int vectorAddrIPv4[4];

typedef struct{
	type_t tipo;
	char cmd_name[TAM_STRING];
	char value[TAM_STRING_LONG];
	char resp[MAX_RESP_SIZE];
}str_t;

typedef struct{
	break_t (*pFunc) (str_t * tp);			// Funcao tratadora
	char*	string;								// Parametro
	char* help;
}cli_str;

break_t do_get_temperature(str_t* tp);
break_t do_IP(str_t* tp);
break_t do_gateway(str_t* tp);
break_t do_mask(str_t* tp);
break_t do_MAC(str_t* tp);
break_t do_init(str_t* tp);
break_t do_lcd(str_t* tp);
break_t do_chat(str_t* tp);
break_t do_configIp(str_t* tp);
